export const host = '';
export const apiHost = process.env.NODE_ENV === 'development' ? '' : '';

export const ERROR_CODE = [];
export const SUCCESS_CODE = [0];
export const WARNING_CODE = [];
export const LOGIN_PUBLIC_KEY = `MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmnaDAQWgcDpcuj9CDYMmd7MhM
Qx0yYO8DlKexF936QEHRLq/h+Tgf8aEvFlTy2yA+i8cRdR1D+xDfoCh9FxZJvHnP
PrDE07K2L75ZftnJ/npAfM8DesK4UUUE4ndf9paz0A8gMZ77PffODtD/22BQiqRN
KWFyWz9E61V6YAkOywIDAQAB`;
export const CALCULATE_CODE = [
  { calculate_type_id: '1001', calculate_type_code: 'sum', calculate_type_name: '求和' },
  { calculate_type_id: '1002', calculate_type_code: 'association', calculate_type_name: '求关联' },
  { calculate_type_id: '1003', calculate_type_code: 'average', calculate_type_name: '求平均' },
  { calculate_type_id: '1004', calculate_type_code: 'count', calculate_type_name: '普通统计' },
  { calculate_type_id: '1005', calculate_type_code: 'continuous', calculate_type_name: '连续统计' },
  { calculate_type_id: '1006', calculate_type_code: 'previous', calculate_type_name: '历史指标' },
  { calculate_type_id: '1007', calculate_type_code: 'max', calculate_type_name: '最大值' },
  { calculate_type_id: '1008', calculate_type_code: 'standardDeviation', calculate_type_name: '标准差' },
  { calculate_type_id: '1009', calculate_type_code: 'fourthOrderCenterDistance', calculate_type_name: '四阶中心距' },
  { calculate_type_id: '1010', calculate_type_code: 'frequencyRanking', calculate_type_name: '频次排行' },
]; // 计算方式

export const CALCULATE_CODE_GROUP = ['history_value', 'frequency']; //计算方式的组，他们是一样的格式

export const IS_SYSTEM = { _TRUE: 1, _FALSE: 0 }; //是否系统设置
export const IS_SYSTEM_FUNCTION = { _TRUE: 1, _FALSE: 0 }; //是否系统设置，针对函数
export const IS_SYSTEM_COM = { _TRUE: 1, _FALSE: 2 }; //是否系统设置,针对计算方式
export const IS_EXEC_CONDITION = { _TRUE: 1, _FALSE: 0 }; //是否需要添加执行条件 1-->需要， 0-->不需要
export const GLOBAL_TRUE_FALSE = { _TRUE: 1, _FALSE: 0 }; // 全局通用的1，0
export const NEED_CALC = { _TRUE: 1, _FALSE: 0 }; //是否需要计算类型 1-->需要， 0-->不需要
export const CALC_TYPE = { _NONE: 0, _CONFIG: 1, _SQ: 2 }; //计算类型 0--> 无, 1-->配置， 2-->脚本
export const CONDITION_TYPE = { _CONFIG: 1, _SQ: 2 }; //规则类型 1-->配置， 2-->脚本
// export const STRATEGY_MODE = { _WEIGHT: 1, _FIRST_MATCH: 2, _STRICTEST_MATCH: 3, _CUSTOM: 4, _SCORE_CARD: 5 }; //策略模式
// 2：决策集；1：风险权重；5：评分卡；3：决策表；4：决策矩阵
export const STRATEGY_MODE = {
  _RULESET: 2,
  _WEIGHT: 1,
  _SCORE_CARD: 5,
  _DECISION_TABLE: 3,
  _DECISION_MATRIX: 4,
}; //策略模式

// 函数 参数类型
export const USAGE_SCOPE_LIMIT = {
  _FIELD: 'field',
  _RULE: 'rule',
  _STRATEGY: 'strategy',
};
// 函数 输入框类型
export const PARAME_TYPE = ['输入框', '单选下拉', '复选下拉'];

export const STRATEGY_TYPE = { _COMMON: 1, _FLOW: 2 }; //策略模式
export const OPER_TYPE = {
  _ADD: 1, //新增
  _UPDATE: 2, //修改
  _DELETE: 3, //删除
  _ONLINE: 4, //上线
  _OFFLINE: 5, //下线
  _TEST: 6, //测试
  _INPORT: 7, //导入
  _RESET: 8, //还原
  _OUTPORT: 9, //导出
  _PUBLISH: 10, //发布
}; //操作类型

export const MODULE_TYPE = {
  _APP: 1, //渠道
  _EVENT: 2, //事件
  _RISK_TYPE: 3, //风险类型
  _FIELD: 4, //字段
  _FEATURE: 5, //指标
  _STRATEGY: 6, //策略
  _NAMELIST: 7, //名单
  _MODEL: 8, //模型
  _THIRD_NAMELIST: 9, //三方名单
  _STRATEGY_COMPONENT: 10, //策略组件
  _ACTION: 11, // 函数
  _INDEX_DATASOURCE: 12, //指标数据源
  _CUSTOM_PARAMS: 13, // 自定义参数
  _MAP: 14, // 映射管理
}; //操作类型
export const DATA_TYPE_NUMBER = ['long', 'int', 'float', 'double'];
export const DATA_TYPE_BOOLEAN = ['boolean'];
export const CASE_TYPE = { _BOOL: 'enums', _NUMBERIC: 'numberic' };
export const STATUS = {
  '-2': '已删除',
  '-1': '草稿箱',
  '0': '草稿',
  '1': '启用',
  '2': '停用',
  '3': '进行中',
};

export const STRATEGY_STATUS = {
  // '1': '上线',
  // '2': '下线',
  '1': '启用',
  '2': '未启用',
  '3': '测试',
};

export const FUNCTION_SCOPE = {
  field: '字段计算',
  rule: '策略条件',
  strategy: '策略动作',
};
export const STRATEGYLAB_STATUS = {
  '1': '未开始',
  '2': '已停止',
  '3': '进行中',
};

export const AUDIT = {
  _WAIT: 0, //待审核
  _RESOLUE: 1, //已通过
  _REJECT: 2, //未通过
};

export const OPERATOR = {
  _NO_RIGHT: '1', //无右边录入框
  _HAS_RIGHT: '2', //有右边录入框
  _RIGHT_ON: '3', //操作符在右边
};

export const DATA_SOURCE_TYPE = {
  _FENGKONG: 1, //风控
  _COMSTOM: 2, //自定义
};

// 数据来源，用于
export const DATA_SOURCE = {
  _LOCAL: 1, //本地上传
  _COMSTOM: 2, //手工录入
};

export const ENABLE_STATUS = {
  _TRUE: 1, //启用
  _FALSE: 2, //停用
};

// 策略实验室，数据来源
export const LABS_SOURCE_TYPE = {
  _ONLINE: 1, // 线上实时数据
  _HISTORY: 2, //线上历史数据
  _COMSTOM: 3, //自定义数据
};
// 策略实验室，状态
export const LABS_STATUS = {
  _WAIT: 1, // 未开始
  _STOP: 2, //已经停止
  _RUNNING: 3, //进行中
};
// 运维监控告警:添加报警接收人
export const IS_RECEIVE = {
  _TRUE: 1,
  _FALSE: 0,
};

// flink新增
export const CONFIG_TYPE = {
  // 指标配置类型
  _CONFIG: 1, //向导式配置
  _SQL: 2, //SQL脚本配置
};
export const IS_AGGREGATION = {
  // 是否合并计算
  _TRUE: 1, //是
  _FALSE: 0, //否
};

/*------模型码表--------*/

// 模型来源
export const MODEL_SOURCE = {
  0: '系统内置',
  1: '用户上传',
};

// 模型服务状态
// export const MODEL_TYPE = {
//   0: '待部署',
//   1: '部署中',
//   2: '运行中',
//   3: '部署失败',
//   4: '停止部署',
//   5: '待删除',
//   6: '删除中',
//   7: '删除成功',
//   8: '删除失败',
// };
export const MODEL_TYPE = {
  0: '待部署',
  1: '运行中',
};

// 模型字段、指标类型
export const MODEL_VAR_TYPE = {
  0: '字段',
  1: '指标',
};

export const MODEL_ENV = [
  // {
  //   value: 1,
  //   text: 'tfserving',
  // },
  {
    value: 0,
    text: 'pmml',
  },
];

// 时间颗粒度
export const TIME_TYPE = [
  {
    key: 2,
    value: '分',
  },
  {
    key: 3,
    value: '时',
  },
  {
    key: 4,
    value: '日',
  },
  {
    key: 5,
    value: '月',
  },
  {
    key: 7,
    value: '周',
  },
];

// 风险risk_level
export const RISK_LEVEL = {
  _PASS: 'pass',
  _REVIEW: 'refuse',
  _REJECT: 'reject',
};

// 行内数据源
export const BANK_DATA_SOURCE = 3;
export const IS_CHALLENGER = { _TRUE: 1, _FALSE: 0 };

// 数据网关
export const BUSINESS_STATUS = ['终止', '正常'];
export const INTERFACE_TYPE = ['HTTP', 'WebService'];
export const HTTP_METHOD = ['get', 'post'];
export const NEED_CACHE = ['否', '是'];
export const REQUEST_TYPE_HTTP = [
  {
    label: 'Body-form',
    value: 1,
  },
  {
    label: 'Body-json',
    value: 0,
  },
  {
    label: 'Body-xml',
    value: 2,
  },
];
export const REQUEST_TYPE_WEBSERVICE = [
  {
    label: 'Body-xml',
    value: 2,
  },
  {
    label: 'Body-soap',
    value: 3,
  },
];
export const CACHE_UNIT = [
  {
    label: '分',
    value: 'MINUTE',
  },
  {
    label: '小时',
    value: 'HOUR',
  },
  {
    label: '日',
    value: 'DAY',
  },
];
export const FEE_TYPE = ['免费', '单次计费', '包年', '包次', '梯度计费'];
export const MODE_TYPE = ['配置模式', '报文模板模式'];
export const REQTEXT_TYPE = ['json', 'xml'];
export const POSITION = [{ label: 'Head', value: 0 }, { label: 'Body', value: 1 }, { label: 'Query', value: 2 }];
export const TYPE_OPTIONS = ['String', 'Int', 'Long', 'Float', 'Double', 'Boolean', 'Array'];
export const ISRATELIMIT_OPTIONS = ['否', '是'];
export const DATABASE_TYPE = ['mysql', 'oracle'];

// juction type
export const JUNCTION_TYPE = {
  and: '并且',
  or: '或者',
};
// 流程edge_type
export const EDGE_TYPE = {
  _CONDITION: 'condition',
  _PERCENT: 'percent',
};

// 函数变量赋值
export const FIELD_ASSGIN = 'field_assign'; // 字段赋值
export const INTERRUPT = 'interrupt'; // 流程退出
export const CASE_GENERATE = 'case_generate'; // 案件生成
export const ACTION_TYPE = {
  _SYSTEM: 1,
  _COMSTOM: 2,
};

// 函数参数类型
export const PARAMETER_TYPE = {
  _INPUT: 1, // 输入框
  _SINGLE: 2, // 单选下拉
  _MULTIPLE: 3, // 多选下拉
};

// variable 类型
export const VARIABLE_TYPE = {
  _FIELD: 'field',
  _OUTERFIELD: 'outerField',
  _FEATURE: 'feature',
  _FEATURE_ALL: 'feature_all', //新增一种，全部的类型，用于查询
  _MODEL: 'model',
  _NAMELIST: 'local_namelist',
  _THIRD_FEATURE: 'third_feature',
  _STRATEGY: 'strategy',
  _RISK_LEVEL: 'risk_level',
  _LITERAL: 'literal',
  _ENUM: 'enum',
  _RuleResult: 'rule_result',
  _DATASOURCE: 'dataSourceData',
};

export const EXCUTE_MODE = [{ label: '互斥执行', value: 'exclusion' }, { label: '普通执行', value: 'normal' }];

// 变量类型
export const VARS_TYPE = { _PROCESS: 1, _COMPUTED: 2 };
export const VARS_TYPE_LIST = [
  { label: '过程变量', value: VARS_TYPE._PROCESS },
  { label: '计算变量', value: VARS_TYPE._COMPUTED },
];
// 组件
export const COMPONENT_STATUS = {
  0: '草稿',
  1: '已完成',
};

export const DATA_SOURCE_STATUS = {
  _DELETE: -2, //已删除
  _DRAFTBOX: -1, //草稿箱
  _DRAFT: 0, //草稿
  _ENABLE: 1, //启用
  _DISABLED: 2, //停用
};
